// INotificationService.cs
using WorkSystem.Data;

public interface ISystemNotificationService
{
    Task SendNotificationAsync(string NotificationType, DispatchType dispatchType,string title,string message,string userId);
    Task SendSMSNotificationAsync(string phoneNumber, string message);
    Task SendEmailNotificationAsync(string email, string subject, string body);
    Task SendWeChatNotificationAsync(string openId, string message);
    Task  SendSystemNotificationAsync(string NotificationType, DispatchType dispatchType, string title, string content,string userId); 
}

// NotificationModels.cs
public class EmailConfig
{
    public string SmtpServer { get; set; }
    public int Port { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
    public string FromAddress { get; set; }
    public string DisplayName { get; set; }
}

public class SmsConfig
{
    public string ApiKey { get; set; }
    public string ApiSecret { get; set; }
    public string SenderId { get; set; }
}

public class WeChatConfig
{
    public string AppId { get; set; }
    public string AppSecret { get; set; }
}


